---
###############################################################################
# Define all YAML node anchors
###############################################################################
.node_anchors:
  # `stage`
  stage_build: &stage_build 'build'
  # `image`
  image_clickable_amd64: &image_clickable_amd64 'clickable/ci-16.04-amd64'
  image_clickable_arm64: &image_clickable_arm64 'clickable/ci-16.04-arm64'
  image_clickable_armhf: &image_clickable_armhf 'clickable/ci-16.04-armhf'
  # `artifacts.paths`
  paths_amd64: &paths_amd64
    - 'build/x86_64-linux-gnu/app/*.click'
  paths_arm64: &paths_arm64
    - 'build/aarch64-linux-gnu/app/*.click'
  paths_armhf: &paths_armhf
    - 'build/arm-linux-gnueabihf/app/*.click'

###############################################################################
# Define stages
###############################################################################
stages:
  - *stage_build

###############################################################################
# Define `build` template
###############################################################################
.build_click:
  stage: *stage_build
  script:
    - 'clickable build'
    - 'clickable review'
  artifacts:
    expire_in: '1 week'

###############################################################################
# `build` stage: build clicks for `armhf`, `arm64` & `amd64`
###############################################################################
xenial_armhf_click:
  extends: '.build_click'
  image: *image_clickable_armhf
  artifacts:
    paths: *paths_armhf

xenial_arm64_click:
  extends: '.build_click'
  image: *image_clickable_arm64
  artifacts:
    paths: *paths_arm64

xenial_amd64_click:
  extends: '.build_click'
  image: *image_clickable_amd64
  artifacts:
    paths: *paths_amd64
